// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "STCustomObjecFunLib.generated.h"

class USTCustomObjectData;
/**
 * 
 */
UCLASS()
class ST_CUSTOMBPNODE_API USTCustomObjecFunLib : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
public:

	UFUNCTION(BlueprintCallable, Category="USTCustomObjecFunLib")
	static bool TryCallCustomFun(
		UObject* object, FName funName
		, USTCustomObjectData* inParam, USTCustomObjectData*& outParam
		,FString& errorMes, bool callSuper = true);
private:

	static bool MakeInputDataBuffer(UFunction* TargetFunction
		, const USTCustomObjectData* inParam, TArray<uint8>& outBuffer);


	
};